package com.avecsys.quotemanager.dao.supplier;

import com.avecsys.quotemanager.dao.common.BaseDAO;
import com.avecsys.quotemanager.exception.DAOException;
import com.avecsys.quotemanager.pojos.SupplierMasterPojo;
import com.avecsys.quotemanager.utils.TransactionStatus;

public interface SupplierMasterDAO extends BaseDAO {

	/**
	 * Method to save supplier Information
	 * 
	 * @param supplierMasterPojo
	 * @return TransactionStatus
	 * @throws DAOException
	 */
	public TransactionStatus saveSupplier(
			final SupplierMasterPojo supplierMasterPojo) throws DAOException;

	/**
	 * Method to update Supplier Information
	 * 
	 * @param supplierMasterPojo
	 * @return TransactionStatus
	 * @throws DAOException
	 */
	public TransactionStatus updateSupplier(
			final SupplierMasterPojo supplierMasterPojo) throws DAOException;

	/**
	 * Method to mark supplier information and supplier users information as
	 * deleted
	 * 
	 * @param supplierMasterPojo
	 * @return TransactionStatus
	 * @throws DAOException
	 */
	public TransactionStatus deleteSupplier(
			final SupplierMasterPojo supplierMasterPojo) throws DAOException;
}
